package 笔试.b站.空白.b;

import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

public class Main {

    @Test
    public void test() {
        int[] a = {-1,1,4,-9,-8};
        System.out.println(solution(a));
    }
    int[] p;
    int[] vis;
     List<List<Integer>> res = new ArrayList<>();
     List<Integer> tmp = new ArrayList<>();
    public int solution(int[] d) {
        p=d;
        vis=new int[p.length];
        for (int i = 1; i <= p.length ; i++) {
            qpl(i);
        }
        int m = -1;
        for (int i = 0; i < res.size(); i++) {
            int c = cheng(res.get(i));
            if(c>m){
                m=c;
            }
        }
        if(m==-1)return 0;
        return m;
    }

    private int cheng(List<Integer> t) {
        int c=0;
        int k=1;
        for (int i = 0; i < t.size(); i++,k++) {
//            c= (int) (c+Math.pow(t.get(i),k));
            c=c+t.get(i)*k;
        }
        return c;
    }

    void qpl(int mL) {
        if(mL==0){
            res.add(new ArrayList<>(tmp));
            return;
        }
        for (int i = 0; i < p.length; i++) {
            if(vis[i]==1)continue;
            tmp.add(p[i]); vis[i]=1; qpl(mL-1); vis[i]=0; tmp.remove(tmp.size()-1);
        }
    }
}
